package com.demo.springboot;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;

/**
 * Conditional基于条件的自动配置，一般配合Condition接口一起使用，
 * 只有接口实现类(一个或多个)的 matches 方法返回true才会装配，否则不装配
 * 可以使用在方法上面，只对该方法有用，也可以使用在类上面，则对该类所有方法起作用。
 */
@SpringBootConfiguration
public class EncodingConfig {

    @Bean
    @Conditional(GBKCondition.class)
    public GBKEncodingConvert createGBK(){
        return new GBKEncodingConvert();
    }

    @Bean
    @Conditional(UTFCondition.class)
    public UTF8EncodingConvert createUTF8(){
        return new UTF8EncodingConvert();
    }
}
